<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>自動連番マクロについて | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀一般トップへ</a>
        <li><div class="list-title">
    <span class="no">2503</span>
    <a class="thread-title" href="2503.html#2503">自動連番マクロについて</a></div>
    <ul><li><div class="list-title">
    <span class="no">2506</span>
    <a class="thread-title" href="2503.html#2506">Re: 自動連番マクロについて</a></div>
    <ul><li><div class="list-title">
    <span class="no">2507</span>
    <a class="thread-title" href="2503.html#2507">Re2: 自動連番マクロについて</a></div>
    <ul><li><div class="list-title">
    <span class="no">2510</span>
    <a class="thread-title" href="2503.html#2510">Re3: 自動連番マクロについて</a></div>
    </li></ul></li></ul></li><li><div class="list-title">
    <span class="no">2511</span>
    <a class="thread-title" href="2503.html#2511">ウホ ウホ</a></div>
    <ul><li><div class="list-title">
    <span class="no">2512</span>
    <a class="thread-title" href="2503.html#2512">RE: ウホ ウホ</a></div>
    <ul><li><div class="list-title">
    <span class="no">2513</span>
    <a class="thread-title" href="2503.html#2513">Re2: ウホ ウホ</a></div>
    <ul><li><div class="list-title">
    <span class="no">2524</span>
    <a class="thread-title" href="2503.html#2524">Re3: ウホ ウホ</a></div>
    </li></ul></li></ul></li><li><div class="list-title">
    <span class="no">2517</span>
    <a class="thread-title" href="2503.html#2517">Re:ウホ ウホ</a></div>
    <ul><li><div class="list-title">
    <span class="no">2522</span>
    <a class="thread-title" href="2503.html#2522">Re2:ウホ ウホ</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">2518</span>
    <a class="thread-title" href="2503.html#2518">もう１つ…</a></div>
    <ul><li><div class="list-title">
    <span class="no">2523</span>
    <a class="thread-title" href="2503.html#2523">RE: もう１つ…</a></div>
    </li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=2503>
    <span class="no">[2503]</span>
    <a class="thread-title" href="#2503">自動連番マクロについて</a>
    <span class="author">もんもん</span>
    <time datetime="2002-11-14T15:59:48">2002年11月14日 15:59</time></h1>
    <div class="body">いつも使用させております。<br>仕事でCOBOL開発をしておるのですがホストでの開発が嫌いで<br>サクラエディタを使用して開発しております。<br>が、作成したプログラムをアップロードする前に<br><br>000100 IDENTIFICATION       DIVISION.<br>000200 PROGRAM-ID.          XXXXX.<br>000300 DATE-COMPILED.       XX/XX/XX.<br><br>↑↑↑の部分の6桁ナンバー振り直しをしなくてはならず<br>一度現ナンバーを矩形選択し、Excelに貼り付けナンバーを振り直して矩形貼り付け。<br>といった手順でやっておるのですがマクロでサクッと出来ないかと思いご相談させて頂きました。<br>既にこういったマクロをお持ちの方マクロを譲っては頂けないでしょうか。<br>またはこうすればマクロが出来るよ！とアドバイス頂けても幸いです。<br>図々しいお願いで申し訳ありませんが宜しくお願いしますm(__)m</div></section>
    <ul><li><section><h1 id=2506>
    <span class="no">[2506]</span>
    <a class="thread-title" href="#2506">Re: 自動連番マクロについて</a>
    <span class="author">げんた</span>
    <time datetime="2002-11-14T23:44:00">2002年11月14日 23:44</time></h1>
    <div class="body">以前話題に出たスペルチェックと同様に，外部プログラムで処理するという案ではだめでしょうか．Perl等を使えば番号の振り直しは簡単にできると思います．<br>編集中のファイルをロックしないようにしておく<br>→ファイルを書き換える外部プログラムを作って置いて実行<br>→エディタに戻ると再読込するか聞いてくる<br><br>編集中のデータを外部プログラムに渡せれば使い勝手が向上しますが...<br></div></section>
    <ul><li><section><h1 id=2507>
    <span class="no">[2507]</span>
    <a class="thread-title" href="#2507">Re2: 自動連番マクロについて</a>
    <span class="author">もんもん</span>
    <time datetime="2002-11-15T09:52:30">2002年11月15日 09:52</time></h1>
    <div class="body">げんた様<br><br>返信ありがとうございます。<br>スペルチェックのスレッド参照させて頂きました。<br>あちらは既存のEXEファイルを外部コマンド実行ですよね。<br>今回の私のケースは、何らかの言語でプログラミングをしそれを実行形式にしコールする形になるのでしょうか？<br>Perl…、初めて聞きました。<br>勉強してプログラミングしたとしてもEXEの仕方が分かりません(T^T)<br>断念する方向で検討中(^-^;</div></section>
    <ul><li><section><h1 id=2510>
    <span class="no">[2510]</span>
    <a class="thread-title" href="#2510">Re3: 自動連番マクロについて</a>
    <span class="author">すい</span>
    <time datetime="2002-11-15T19:12:32">2002年11月15日 19:12</time></h1>
    <div class="body">ここの過去の げんたさん の書き込み「2072 外部コマンドを使った文字列加工」<br>なんかが、ほぼそのまんまって気がしますが。<br># 「行番号の書き換え」じゃなくて「行番号の追加」ですが。<br><br>perl や awk 等は、テキストの処理をするためのインタープリターです。<br># perl はテキスト処理の他にも色々（というより、いかなる処理でも）可能になっていますが。<br><br>MS-DOSプロンプト(コマンド プロンプト)で<br>  awk  スクリプトファイル  &lt; 処理前のファイル  &gt; 処理結果を書き込むファイル<br>とか<br>  perl  スクリプトファイル  &lt; 処理前のファイル  &gt; 処理結果を書き込むファイル<br>とかで、スクリプトファイル（C言語ライクなマクロみたいな物）に記述された処理をガーっとやってくれます。<br># 他の実行方法(ファイルの渡し方)もありますけど。<br><br>テキストに関する処理って awk や perl なんかが使えないと かなり不自由すると思いますけど。。。<br># もっと楽に出来る方法があるけど、それを知らないから面倒な事をやっているという感じ．．．<br># 「目的の事さえ出来れば面倒だろうが OK」っていう割り切り方ももちろんありですが。<br></div></section>
    </li></ul></li></ul></li><li><section><h1 id=2511>
    <span class="no">[2511]</span>
    <a class="thread-title" href="#2511">ウホ ウホ</a>
    <span class="author">すい</span>
    <time datetime="2002-11-15T19:12:33">2002年11月15日 19:12</time></h1>
    <div class="body">// TAB=4<br>// 実行には PPA.DLL が必須です。<br>// マクロファイルの拡張子は .PPA でなくてはなりません。<br><br>// ファイル全体に対して、各行頭の行番号を振り直す。<br>// 行番号と その後ろの文字列との間に、何らかの空白（タブ/スペース）が必要です。<br>// （↑行頭にて [Ctrl]+[W] で選択される物が古い行番号として消えてしまうわけなのよ。(はぁと) ）<br><br>// COBOL で使いたいらしい。<br><br>var<br>&#9;num,step,digit:Integer;&#9;// 行番号を取り扱う整数数値変数<br>&#9;n:Integer;&#9;&#9;&#9;// 作業用の整数数値変数<br>&#9;word:String;&#9;&#9;// 作業用の文字列変数<br>begin<br>&#9;num  := 100;&#9;&#9;// 先頭行の行番号を指定せよ<br>&#9;step := 100;&#9;&#9;// 行番号の増分値を指定せよ<br>&#9;digit:= 6;&#9;&#9;&#9;// 行番号の表示桁数を指定せよ<br><br>&#9;S_GoFileTop(0);&#9;&#9;// ファイルの先頭に移動<br><br>&#9;while (True) do&#9;// 無限ループだじょ<br>&#9;begin<br>&#9;&#9;S_SelectWord(0);&#9;&#9;&#9;&#9;// 現在位置の単語選択<br>&#9;&#9;word := S_GetSelectedString(0);&#9;// 選択文字列を取得する<br>//&#9;&#9;MessageBox(word,'debug',0);&#9;&#9;// for Debug<br><br>&#9;&#9;if word = '' then&#9;// 文字列が空なので、ファイル末尾に達した(と思われる)<br>&#9;&#9;begin<br>&#9;&#9;&#9;S_GoFileTop(0);&#9;// ファイルの先頭に移動<br>&#9;&#9;&#9;exit;&#9;&#9;&#9;// マクロ終了!!<br>&#9;&#9;end;<br><br>&#9;&#9;word := IntToStr(num);&#9;// 行番号を文字列に変換する。<br><br>&#9;&#9;// ↓行番号文字列の前に、桁の不足分 '0' を追加する。<br>&#9;&#9;for n := Length(word) to (digit - 1) do&#9;word := '0' + word;<br><br>&#9;&#9;S_InsText( word );&#9;// 行番号文字列をエディタに出力する。<br><br>&#9;&#9;num := num + step;&#9;// 行番号 += setp<br>&#9;&#9;S_GoLineTop(1);&#9;&#9;// 行頭に移動(行頭のスペースを無視する)<br>&#9;&#9;S_Down(0);&#9;&#9;&#9;// カーソル下移動<br>&#9;end;<br><br>end;<br></div></section>
    <ul><li><section><h1 id=2512>
    <span class="no">[2512]</span>
    <a class="thread-title" href="#2512">RE: ウホ ウホ</a>
    <span class="author">すい</span>
    <time datetime="2002-11-15T19:23:49">2002年11月15日 19:23</time></h1>
    <div class="body">----------<br>&gt;&#9;digit:= 6;&#9;&#9;&#9;// 行番号の表示桁数を指定せよ<br>&gt;<br>&gt;&#9;S_GoFileTop(0);&#9;&#9;// ファイルの先頭に移動<br>----------<br>　　↓<br>----------<br>&#9;digit:= 6;&#9;&#9;&#9;// 行番号の表示桁数を指定せよ<br><br>⇒&#9;S_MoveHistSet(0);&#9;// 現在位置を移動履歴に登録<br>&#9;S_GoFileTop(0);&#9;&#9;// ファイルの先頭に移動<br>----------<br><br><br>----------<br>&gt;&#9;&#9;begin<br>&gt;&#9;&#9;&#9;S_GoFileTop(0);&#9;// ファイルの先頭に移動<br>&gt;&#9;&#9;&#9;exit;&#9;&#9;&#9;// マクロ終了!!<br>&gt;&#9;&#9;end;<br>----------<br>　　↓<br>----------<br>&#9;&#9;begin<br>⇒&#9;&#9;&#9;S_MoveHistPrev(0);&#9;// 移動履歴: 前へ<br>&#9;&#9;&#9;exit;&#9;&#9;&#9;// マクロ終了!!<br>&#9;&#9;end;<br>----------<br><br>にした方が良いかも。<br></div></section>
    <ul><li><section><h1 id=2513>
    <span class="no">[2513]</span>
    <a class="thread-title" href="#2513">Re2: ウホ ウホ</a>
    <span class="author">げんた</span>
    <time datetime="2002-11-16T00:13:51">2002年11月16日 00:13</time></h1>
    <div class="body">神光臨 キター！<br>いつもいつもありがとうございます．不完全で限られた世界だからやる気が出るのかな？<br><br>ところでマクロ用に掲示板作ってみたんですが，あんまり役に立ちませんかね～．<br>今後もマクロの話題をここで続行した方がいいですか？<br></div></section>
    <ul><li><section><h1 id=2524>
    <span class="no">[2524]</span>
    <a class="thread-title" href="#2524">Re3: ウホ ウホ</a>
    <span class="author">すい</span>
    <time datetime="2002-11-19T20:12:03">2002年11月19日 20:12</time></h1>
    <div class="body">&gt;不完全で限られた世界だからやる気が出るのかな？<br><br>　　　　　ギクッ<br><br>元々バレバレな気がしますが、そのとおりです．．．_(_"_)_<br>出来ない事,制限 があればこそ、そこを工夫して色々やってみる、それこそがコンピュータを使う最大の楽しみ。<br>制限無く何でも出来るとか、動作が安定していて不具合が出ないなんて事になると退屈至極つまらない。<br><br>&gt;ところでマクロ用に掲示板作ってみたんですが，あんまり役に立ちませんかね～．<br>&gt;今後もマクロの話題をここで続行した方がいいですか？<br>私はどちらでも。<br># 板できたんですか？INCM で掲示板見ていると掲示板の変化に気付けないっすね。<br><br>それよりマクロ専用の投稿ディレクトリが欲しひかも。。egroups<br>そこにマクロを集中してサンプルとして放り込んでいけば。<br>「いちいち作り方を人に聞くよりもサンプル見ながら自分で組む方が性にあっている」<br>という方もおられるかと思いますし。<br>「マクロでこんな事も出来るんだ」と新発見してマクロやる気出す人が発生するかもしれないし。<br><br># 私は本格的に手を出せるのは12月以降(1月かも)ですが。<br></div></section>
    </li></ul></li></ul></li><li><section><h1 id=2517>
    <span class="no">[2517]</span>
    <a class="thread-title" href="#2517">Re:ウホ ウホ</a>
    <span class="author">もんもん</span>
    <time datetime="2002-11-16T09:01:52">2002年11月16日 09:01</time></h1>
    <div class="body">うお！！<br>もしかしてわざわざコーディングして頂けたんですか！？<br>ppaにして実行してみたところ動きました！<br>感動です。<br>有り難う御座います(T^T)<br><br>ただ、１点だけ改良したい所があるのでまたまたご相談に乗って下さいm(__)m<br>最終行に改行が無いと当然無限ループに陥ってしまいます。<br>EOFを見て終了させる事は出来ないのでしょうか？<br>if word = '' or EOF　みたいな(^-^;</div></section>
    <ul><li><section><h1 id=2522>
    <span class="no">[2522]</span>
    <a class="thread-title" href="#2522">Re2:ウホ ウホ</a>
    <span class="author">すい</span>
    <time datetime="2002-11-19T20:10:39">2002年11月19日 20:10</time></h1>
    <div class="body">&gt;最終行に改行が無いと当然無限ループに陥ってしまいます。<br><br>Oh!! sorry. it's  Mi・O・To・Shi ね。<br>う～ん、すんばらしいくらいに無限ループですね。感心感心。いや、すんげーわ。ってどうやって終わらせれば良いんだコレ？[Ctrl]+[Alt]+[Delete] から強制終了すか？<br>事前にディスクに保存してなかったら目も当てられないっすね。ゴメソナサイ。<br><br>&gt;EOFを見て終了させる事は出来ないのでしょうか？<br>&gt;if word = '' or EOF　みたいな(^-^;<br><br>できません。ので、そこを工夫して作るのよ、と。(*^-^*)<br>改良版↓<br>http://www.egroups.co.jp/files/sakura-editor/Junk/<br>→ LN.CAB <br># ここに書き込めそうなサイズではなくなったので。<br></div></section>
    </li></ul></li><li><section><h1 id=2518>
    <span class="no">[2518]</span>
    <a class="thread-title" href="#2518">もう１つ…</a>
    <span class="author">もんもん</span>
    <time datetime="2002-11-16T09:20:20">2002年11月16日 09:20</time></h1>
    <div class="body">S_SelectWord(0)ってマウスで文字をＷクリックした時の<br>範囲が対象になるのですね。<br>たとえば<br><br>000800 IF A = B THEN<br>000900    MOVE A TO D<br>なんてのを<br><br>000800 IF A = B AND<br>          B = C THEN<br>000900    MOVE A TO D<br>と編集してマクロを実行しますと、<br><br>000800 IF A = B AND<br>000900B = C THEN<br>001000    MOVE A TO D<br>こういった結果になってしまいます。<br>追加した行の頭から全てのスペースを行番に変えずに<br>6文字分のみを範囲選択して貼り付けるなんて事は無理なのでしょうか。<br>お願いばかりで申し訳ありませんが宜しくお願いしますm(__)m</div></section>
    <ul><li><section><h1 id=2523>
    <span class="no">[2523]</span>
    <a class="thread-title" href="#2523">RE: もう１つ…</a>
    <span class="author">すい</span>
    <time datetime="2002-11-19T20:12:02">2002年11月19日 20:12</time></h1>
    <div class="body">&gt;たとえば<br>&gt;<br>&gt;000800 IF A = B THEN<br>&gt;000900    MOVE A TO D<br>&gt;なんてのを<br>&gt;<br>&gt;000800 IF A = B AND<br>&gt;          B = C THEN<br>&gt;000900    MOVE A TO D<br>&gt;と編集してマクロを実行しますと、<br><br>提案その１<br>タイプ別設定 - スクリーン タブにて、「その他のインデント対象文字」に対して<br>半角数字文字「0123456789」を追加してみては？<br>これで「IF A = B THEN」の行で普通に改行すると<br>000800 IF A = B THEN<br>000800 <br>000900    MOVE A TO D<br>になりますよ。楽じゃあない？<br><br><br>提案その２<br>私が もんもんさん の立場になったら、行番号削除マクロと行番号付加マクロを作って、<br><br>１．エディタで編集時は、初めに行頭の行番号を全て削除してしまう。<br><br>２．行番号なしのソースをいじりたおす。<br><br>３．編集終了したら行番号を付加してから動作させてみる。<br><br>と作業すると思います。行番号が付いた状態のままで編集するなんてやりにくそ。私なら嫌。<br><br>&gt;追加した行の頭から全てのスペースを行番に変えずに<br>&gt;6文字分のみを範囲選択して貼り付けるなんて事は無理なのでしょうか。<br>出来ますけど、ますます実行速度が遅くなります。<br></div></section>
    </li></ul></li></ul></li></ul></li></ul></body></html>